HTTP Requests হল লারাভেল অ্যাপ্লিকেশন এবং ক্লায়েন্টের মধ্যে যোগাযোগের মাধ্যম। লারাভেল HTTP রিকোয়েস্ট পরিচালনা করা খুব সহজ এবং বিভিন্নভাবে কার্যকরভাবে করা যায়। নিচে HTTP Requests-এর বিভিন্ন দিক নিয়ে আলোচনা করা হলো।
HTTP Requests ব্যবহারকারীর ব্রাউজার থেকে সার্ভারে ডেটা পাঠানোর একটি প্রক্রিয়া। লারাভেল এই রিকোয়েস্টগুলি পরিচালনা করতে শক্তিশালী ফিচার সরবরাহ করে, যা ডেভেলপারদের জন্য সহজ করে তোলে।
লারাভেলে, রিকোয়েস্ট ক্লাসের মাধ্যমে রিকোয়েস্টের সমস্ত তথ্য অ্যাক্সেস করা যায়। এটি Illuminate\Http\Request
ক্লাসের মাধ্যমে হয়।
রিকোয়েস্ট অবজেক্ট ব্যবহার করে আপনি বিভিন্ন তথ্য অ্যাক্সেস করতে পারেন।
use Illuminate\Http\Request;
public function store(Request $request)
{
$name = $request->input('name');
}
রিকোয়েস্টের পাথ, হোস্ট এবং পদ্ধতি অ্যাক্সেস করতে পারেন:
$path = $request->path(); // পাথ
$host = $request->host(); // হোস্ট
$method = $request->method(); // পদ্ধতি (GET, POST, ইত্যাদি)
রিকোয়েস্টের হেডার্স অ্যাক্সেস করতে পারেন:
$headers = $request->headers->all(); // সমস্ত হেডার
$userAgent = $request->header('User-Agent'); // নির্দিষ্ট হেডার
ক্লায়েন্টের আইপি ঠিকানা পেতে:
$ip = $request->ip();
বিভিন্ন ফর্ম্যাটে রেসপন্স পাওয়ার জন্য কনটেন্ট নেগোশিয়েশন ব্যবহার করা হয়। আপনি কনটেন্ট টাইপ চেক করতে পারেন:
if ($request->wantsJson()) {
// JSON রেসপন্স
}
লারাভেল PSR-7 রিকোয়েস্ট সমর্থন করে, যা HTTP রিকোয়েস্ট এবং রেসপন্সের জন্য একটি স্ট্যান্ডার্ড ইন্টারফেস।
রিকোয়েস্টের ইনপুট ডেটা অ্যাক্সেস করতে:
$input = $request->all(); // সমস্ত ইনপুট
নির্দিষ্ট ইনপুট পুনরুদ্ধার করতে:
$name = $request->input('name');
ইনপুট উপস্থিতি চেক করতে:
if ($request->has('name')) {
// 'name' ইনপুট আছে
}
অতিরিক্ত ইনপুট একত্রিত করতে:
$request->merge(['age' => 25]);
পুরানো ইনপুট পুনরুদ্ধার করতে:
$oldInput = old('name');
কুকিজ অ্যাক্সেস করতে:
$cookie = $request->cookie('cookie_name');
ইনপুট স্বাভাবিকীকরণের জন্য বিভিন্ন পদ্ধতি ব্যবহার করা যায়।
আপলোড করা ফাইলের তথ্য পেতে:
$file = $request->file('photo');
আপলোড করা ফাইলগুলোর তথ্য পাওয়ার জন্য:
$uploadedFile = $request->file('photo')->store('photos');
আপলোড করা ফাইল সংরক্ষণ করতে:
$request->file('photo')->storeAs('photos', 'filename.jpg');
ট্রাস্টেড প্রক্সি কনফিগার করতে:
use Illuminate\Http\Request;
Request::setTrustedProxies(['192.168.1.1'], Request::HEADER_X_FORWARDED_ALL);
ট্রাস্টেড হোস্ট কনফিগার করতে:
use Illuminate\Http\Request;
Request::setTrustedHosts(['yourdomain.com']);
লারাভেলে HTTP Requests পরিচালনা করা খুব সহজ এবং কার্যকর। রিকোয়েস্ট অবজেক্টের মাধ্যমে বিভিন্ন তথ্য অ্যাক্সেস করা যায়, যা ডেভেলপারদের জন্য একটি শক্তিশালী টুল হিসেবে কাজ করে। ইনপুট, ফাইল, কুকিজ, এবং অন্যান্য রিকোয়েস্ট ডেটা পরিচালনা করার মাধ্যমে লারাভেল উন্নত ও নিরাপদ অ্যাপ্লিকেশন তৈরি করতে সাহায্য করে।
Read more